define(function(require, exports, module) {
	var $ = require('$');
	var formcc = require('form');
	var nav = require("bootstrap_nav");
	var bootbox = require("bootbox");
	var store = require("store");
	var loader = require("./loader/loader");
	require("bootstrap-datetimepicker.min.css");
	//require("bootstrap_datetimepicker.zh-CN");
	require("bootstrap_datetimepicker");
	require('select2.css');
	require('select2');

	exports.init = function(divId) {
		new formcc({
			attrs : {
				title : "新建账号",
				spansize : 'span12',
				id : "accountinfoform",
				items : [{
          isText : true,
          label : "ISV名称",
          id : 'isv_id',
          name : 'isv_id',
          type : "text",
          style : "width:50%",
          validations :
          {
              required : true
          }
        },{
          isText : true,
          label : "应用名称",
          id : 'app_id',
          name : 'app_id',
          type : "text",
          style : "width:50%",
          validations :
          {
              required : true
          }
        },{
          isText : true,
          label : "账号",
          id : 'account',
          name : 'account',
          type : "text",
          style : "width:50%",
          placeholder : "请输入账号",
          validations :
          {
              required : true,
              minlength : 3,
              maxlength : 50
          }
        },{
          isText : true,
          label : "密码",
          id : 'acc_password',
          name : 'acc_password',
          type : "password",
          style : "width:50%",
          placeholder : "请输入密码",
          validations :
          {
              required : true,
              minlength : 6,
              maxlength : 50
          }
        },{
          isText : true,
          label : "账号名称",
          id : 'acc_name',
          name : 'acc_name',
          type : "text",
          style : "width:50%",
          placeholder : "请输入账号名称",
          validations :
          {
              required : true,
              maxlength : 100
          }
        },{
          isText : true,
          label : "账号类型",
          id : 'account_type',
          name : 'account_type',
          type : "text",
          style : "width:50%",
          readonly : false
        },{
          isText : true,
          label : "状态",
          id : 'acc_status',
          name : 'acc_status',
          type : "text",
          style : "width:50%",
          readonly : false
        },{
          isText : true,
          label : "联系人",
          id : 'linker_name',
          name : 'linker_name',
          type : "text",
          style : "width:50%",
          placeholder : "请输入联系人",
          validations :
          {
              required : false,
              maxlength : 100
          }
        },{
          isText : true,
          label : "联系电话",
          id : 'linker_phone',
          name : 'linker_phone',
          type : "text",
          style : "width:50%",
          placeholder : "请输入联系电话",
          validations :
          {
              required : false,
              maxlength : 100
          }
        },{
					isText : true,
					label : "备注",
					id : 'note',
					name : 'note',
					type : "text",
					style : "width:50%"
				},{
          isText : true,
          label : "会议状态推送地址",
          id : 'call_status_url',
          name : 'call_status_url',
          type : "text",
          style : "width:50%",
          placeholder : "请输入会议状态推送地址",
          validations :
          {
              required : true,
              maxlength : 200
          }
        },{
          isText : true,
          label : "话单推送地址",
          id : 'callback_url',
          name : 'callback_url',
          type : "text",
          style : "width:50%",
          placeholder : "请输入话单推送地址",
          validations :
          {
              required : true,
              maxlength : 200
          }
        },{
          isText : true,
          label : "IVR按键结果推送地址",
          id : 'ivrdigit_url',
          name : 'ivrdigit_url',
          type : "text",
          style : "width:50%",
          placeholder : "请输入IVR按键结果推送地址",
          validations :
          {
              required : false,
              maxlength : 200
          }
        },{
          isText : true,
          label : "赠送金额",
          id : 'present_money',
          name : 'present_money',
          type : "text",
          style : "width:50%",
          placeholder : "请输入赠送金额",
          readonly : false
        },{
          isText : true,
          label : "信用额度",
          id : 'credit_limit',
          name : 'credit_limit',
          type : "text",
          style : "width:50%",
          placeholder : "请输入信用额度",
          readonly : false
        },{
          isText : true,
          label : "账号类别",
          id : 'category',
          name : 'category',
          type : "text",
          style : "width:50%",
          readonly : false
        },{
          isText : true,
          label : "计费平台",
          id : 'charging_type',
          name : 'charging_type',
          type : "text",
          style : "width:50%",
          readonly : false
        },{
          isText : true,
          label : "鉴权地址",
          id : 'authentication_url',
          name : 'authentication_url',
          type : "text",
          style : "width:50%",
          placeholder : "请输入鉴权地址",
          validations :
          {
              required : false,
              maxlength : 200
          }
        },{
          isText : true,
          label : "运营平台产品编码",
          id : 'product_code',
          name : 'product_code',
          type : "text",
          style : "width:50%",
          placeholder : "请输入运营平台产品编码",
          validations :
          {
              required : false,
              maxlength : 50
          }
        }],
				buttons : [ {
					text : "保存",
					id : "btn_save",
					type : "submit",
					style : "btn btn-contrast",
					backgroud : "btn-contrast"
				}, {
					text : "取消",
					id : "btn_cancel",
					style : "btn",
					type : "button"
				}]

			},
			renderTo : divId,
			afterRender : function() {
			  // 初始化账户状态 默认正式
        $("#acc_status").select2({
          allowClear : true,
          multiple : false,
          type : "text",
          style : "width:50%",
          data : [ {
            id : 0,
            text : "停用"
          }, {
            id : 1,
            text : "启用"
          }
          ]
        });
        $('#acc_status').select2('val',1);
        
        // 初始化账户类型 默认正式
        $("#account_type").select2({
          allowClear : true,
          multiple : false,
          type : "text",
          style : "width:50%",
          data : [ {
            id : 'app',
            text : "app账号"
          }/*, {
            id : 'company',
            text : "企业账号"
          }*/
          ]
        });
        $('#account_type').select2('val','app');
        
        //账号类别
        $("#category").select2({
          allowClear : true,
          multiple : false,
          type : "text",
          style : "width:50%",
          data : [ {
            id : '00',
            text : "调试账号"
          }, {
            id : '01',
            text : "正式账号"
          }
          ]
        });
        $('#category').select2('val','01');
        
        //计费平台
        $("#charging_type").select2({
          allowClear : true,
          multiple : false,
          type : "text",
          style : "width:50%",
          data : [ {
            id : '00',
            text : "能力平台"
          }, {
            id : '01',
            text : "第三方平台"
          }, {
            id : '03',
            text : "运营平台"
          }
          ]
        });
        $('#charging_type').select2('val','00');
        //默认隐藏鉴权地址
        $("#authentication_url").parent().parent().hide();
        //默认隐藏运营平台产品编码
        $("#product_code").parent().parent().hide();
        
        //判断如果选择计费平台为‘运营平台’，则显示鉴权地址，否则不显示
        $('#charging_type').change(function(){
          if($("#charging_type").val()=="03"){
            $("#authentication_url").parent().parent().show();
            $("#authentication_url").attr("required","true");
            $("#product_code").parent().parent().show();
            $("#product_code").attr("required","true");
          }else{
            $("#authentication_url").parent().parent().hide();
            $("#authentication_url").attr("required","false");
            $("#product_code").parent().parent().hide();
            $("#product_code").attr("required","false");
          }
        });
        
        //初始化下拉框 ----- ISV
        $.ajax({
          type : "POST",
          dataType : "json",
          url :  "/user/queryIsv.do",
          async : false,
          success : function(data){  
              $("#isv_id").select2({
                  placeholder : "请选择ISV名称",
                  allowClear : true,
                  multiple : false,
                  data : data
              });
          },
          error : function(data) {
           bootbox.alertTimeout('初始化ISV数据失败！');
         }
        });
        
        // 绑定APP下拉列表
        $("#app_id").select2({
          placeholder : "请选择APP",
          allowClear : true,
          ajax : {
            url : "/condition/getAppName.do",
            dataType : 'json',
            delay : 250,
            data : function(term, pageNo) {
              return {
                isvid : $("#isv_id").val(),
                q : "a.name like '%"+term+"%'"
              };
            },
            results : function(data, pageNo) {
              var dataObj = eval(data);
              return {
                results : dataObj
              };
            },
            cache : true
          }
        });
        
        $("#account").change(function(){
          $.ajax ({
            url : "/account/findQuantityByAccount.do?accounts="+$("#account").val(),
            dataType : 'json',
            delay : 250,
            success : function(data) {
              if(data.data>0){
                bootbox.alertTimeout('已有账号：'+$("#account").val()+'，请重新输入！');
                $("#account").val("");
              }
            },
            cache : true
          });
        });
        
				var theme = require('bootstrap_theme');
				theme.setValidateForm($("#accountinfoform"), saveAction);

				$('#btn_cancel').on('click', function() {
					//nav.toPageView("admin/accountinfo.html");
				  
				  $('#accountinfo_data_table_edit').hide();
          $('#accountinfo_data_table').show();
          $("#accountForm").show();
          $("#queryAreaId").show();
				});
				
        //计费平台改变事件
        $("#chargingtype").on("change", function()
        {
          if(this.value == '02'){
            $('#paymenttype').attr("disabled","disabled");
            $('#paymenttype').select2('val', '-1');
          }else if(this.value == '01'){
            $('#paymenttype').removeAttr("disabled");   
          }
        });
        
			}
		});
	};
	
	//保存
	var saveAction = function() {
			var formdata = {
			    isv_id : $("#isv_id").val(),
			    app_id : $("#app_id").val(),
			    //company_id : $("#company_id").val(),
			    account : $("#account").val(),
			    acc_password : $("#acc_password").val(),
			    acc_name : $("#acc_name").val(),
			    account_type : $("#account_type").val(),
			    acc_status : $("#acc_status").val(),
			    linker_name : $("#linker_name").val(),
			    linker_phone : $("#linker_phone").val(),
			    note : $("#note").val(),
			    call_status_url : $("#call_status_url").val(),
			    callback_url : $("#callback_url").val(),
			    authentication_url : $("#authentication_url").val(),
			    present_money : $("#present_money").val(),
			    credit_limit : $("#credit_limit").val(),
			    category : $("#category").val(),
			    charging_type : $("#charging_type").val(),
			    product_code : $("#product_code").val(),
			    ivrdigit_url : $('#ivrdigit_url').val()
			    
			};
			loader.loading("正在创建账号，请稍等……");
			$.ajax({
				url : "/account/doInsert.do",//GLOBAL.URL.ADMIN_INSERTLICENSECARRIER,
				dataType : "json",
				data : "data=" + JSON.stringify(formdata),
				type : "POST",
				success : function(json) {
					if(json.flag == '000000'){
	          nav.toPageView("admin/accountinfo.html");
	          loader.noloading();                   
          } else {
            oauth2Relogin();                    
          }
				},
				error : function(s) {
					loader.noloading();
					bootbox.alertTimeout("网络请求失败，请重试！");
				}
			});

	};
});
